Cost ExplorerでリザーブドインスタンスとSavings Plansの利用率を確認してみた
AWSチームのすずきです。
購入したリザーブドインスタンス(RI)と Savings Plans(SP)の利用率、 Cost Explorer を利用して、WEB画面と、CLIで確認する機会がありましたので紹介させていただきます。
Webコンソール
2/22〜24 の期間を指定し、利用率を確認しました。
リザーブドインスタンス
Savings Plans
CLI
Savings Plans に対応した「awscli」と「jq」を利用しました。
$ /usr/local/bin/aws --version aws-cli/2.0.1 Python/3.7.3 Linux/4.14.165-103.209.amzn1.x86_64 botocore/2.0.0dev5 $ jq --version jq-1.5
IAM
Cost Explorer(ce) の参照権限を付与したIAMロールを用意しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ce:Describe*", "ce:List*", "ce:Get*" ], "Resource": "*" } ] }
4日前から3日分のRI、SPの使用率を求めました。
START_DATE=`date +"%Y-%m-%d" --date "-4 day"` END_DATE=`date +"%Y-%m-%d" --date "1 day"` aws ce get-reservation-utilization --time-period Start=${START_DATE},End=${END_DATE} aws ce get-savings-plans-utilization --time-period Start=${START_DATE},End=${END_DATE}
リザーブドインスタンス
$ /usr/local/bin/aws ce get-reservation-utilization --time-period Start=${START_DATE},End=${END_DATE} | jq .Total { "UtilizationPercentage": "100", "PurchasedHours": "2688.0", "TotalActualHours": "2688.0", "UnusedHours": "0.0", (略) }
Savings Plans
$ /usr/local/bin/aws ce get-savings-plans-utilization --time-period Start=${START_DATE},End=${END_DATE} | jq .Total.Utilization { "TotalCommitment": "18.9", "UsedCommitment": "18.9", "UnusedCommitment": "0.0", "UtilizationPercentage": "100" }
まとめ
リザーブドインスタンス、Savings Plansの購入や、対象となるEC2に変更が発生した場合、 その数日後を目安に Cost Explorer を確認して、使用率をご確認ください。
使用率 100% を連続して大きく下回る状態が発生した場合には、 低い使用率、負の値の純貯蓄 が発生している契約の詳細を確認した上で、早めに損失回避を試みる事をおすすめします。
リザーブドインスタンスの使用率の低下が頻発する場合には、 次回のRI更新時、柔軟性に優れたSavings Plans の利用をご検討ください。